package com.ssy.lingxi.pay.model.vo.response;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ssy.lingxi.common.handler.Double2Serialize;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 授信详情VO
 * @author 伍将
 * @version 2.0.0
 * @date 2020/8/12 20:38
 */
public class CreditDetailVO implements Serializable {
    private static final long serialVersionUID = 8506786609807739618L;

    public CreditDetailVO() {
        this.id = 0L;
        this.quota = 0D;
        this.useQuota = 0D;
        this.canUseQuota = 0D;
        this.member = new CreditMemberVO();
        this.billSelectList = new ArrayList<>();
        this.bill = new CreditBillDetailVO();
        this.historyApplyList = new ArrayList<>();
    }

    /**
     * 授信id
     */
    private Long id;

    /**
     * 现有额度
     */
    @JsonSerialize(using = Double2Serialize.class)
    private Double quota;

    /**
     * 已用额度
     */
    @JsonSerialize(using = Double2Serialize.class)
    private Double useQuota;

    /**
     * 可用额度
     */
    @JsonSerialize(using = Double2Serialize.class)
    private Double canUseQuota;

    /**
     * 账单日
     */
    private Integer billDay;

    /**
     * 还款日
     */
    private Integer repayPeriod;

    /**
     * 最后还款日期(yyyy-MM-dd)
     */
    private String lastRepayTime;

    /**
     * 授信会员
     */
    private CreditMemberVO member;

    /**
     * 授信账单下拉框列表
     */
    private List<CreditBillSelectVO> billSelectList;
    /**
     * 账单
     */
    private CreditBillDetailVO bill;

    /**
     * 历史授信申请信息
     */
    private List<CreditHistoryApplyVO> historyApplyList;

    public List<CreditBillSelectVO> getBillSelectList() {
        return billSelectList;
    }

    public void setBillSelectList(List<CreditBillSelectVO> billSelectList) {
        this.billSelectList = billSelectList;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Double getQuota() {
        return quota;
    }

    public void setQuota(Double quota) {
        this.quota = quota;
    }

    public Double getUseQuota() {
        return useQuota;
    }

    public void setUseQuota(Double useQuota) {
        this.useQuota = useQuota;
    }

    public Double getCanUseQuota() {
        return canUseQuota;
    }

    public void setCanUseQuota(Double canUseQuota) {
        this.canUseQuota = canUseQuota;
    }

    public CreditMemberVO getMember() {
        return member;
    }

    public void setMember(CreditMemberVO member) {
        this.member = member;
    }

    public CreditBillDetailVO getBill() {
        return bill;
    }

    public void setBill(CreditBillDetailVO bill) {
        this.bill = bill;
    }

    public List<CreditHistoryApplyVO> getHistoryApplyList() {
        return historyApplyList;
    }

    public void setHistoryApplyList(List<CreditHistoryApplyVO> historyApplyList) {
        this.historyApplyList = historyApplyList;
    }

    public Integer getBillDay() {
        return billDay;
    }

    public void setBillDay(Integer billDay) {
        this.billDay = billDay;
    }

    public Integer getRepayPeriod() {
        return repayPeriod;
    }

    public void setRepayPeriod(Integer repayPeriod) {
        this.repayPeriod = repayPeriod;
    }

    public String getLastRepayTime() {
        return lastRepayTime;
    }

    public void setLastRepayTime(String lastRepayTime) {
        this.lastRepayTime = lastRepayTime;
    }
}

